test.xlsxというファイルの3枚のシートに下記内容のデータが保存されているとする.
Rのバージョン(64bit or 32bit)に対応したJAVAをダウンロードしてインストール. ここでは64bit版のRの場合を想定する.
java8 からWindows x64(64bit版)のJAVAであるjdk-8-windows-x64.exeをダウンロードしてインストールする. 続いて、Rでxlsxパッケージの読み込み.
library(xlsx)
read.xlsx()関数でエクセルのxlsxファイルをRで読み込むことができる. 基本はread.xlsx("[ファイル名]",sheetIndex=[シート番号])でxlsxファイルの名前とシート番号を指定する.
read.xlsx("test.xlsx",sheetIndex=1)
## X Y
## 1 1 1
## 2 2 4
## 3 3 9
sheetIndexでシート番号を指定する代わりに、sheetNameでシート名で指定することもできる.
read.xlsx("test.xlsx",sheetName="Sheet1")
## X Y
## 1 1 1
## 2 2 4
## 3 3 9
日本語が変数名にある場合は文字化けする.
read.xlsx("test.xlsx",sheetIndex="H26")
## 蟷?蠎? 莠?蜿.
## 1 2014 10
## 2 2013 5
encoding="UTF=8"とすれば回避できる.
read.xlsx("test.xlsx",sheetIndex="H26",encoding="UTF-8")
## 年度 人口
## 1 2014 10
## 2 2013 5
1枚のシートの中に複数の表がある場合は、全て読み込まれてしまう.
read.xlsx("test.xlsx",sheetIndex=3)
## X Y Z
## 1 1 1 A
## 2 2 2 B
## 3 Z W <NA>
## 4 1 1 <NA>
## 5 2 2 <NA>
読み込む行の開始と終了をstartRowとendRowで指定することで、特定の表のみ読み込むことができる.
read.xlsx("test.xlsx",sheetIndex=3,startRow=1,endRow=3)
## X Y Z
## 1 1 1 A
## 2 2 2 B